#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
文件操作模块

该模块提供了统一的文件操作接口，支持各种常见文件类型的读写、目录操作、文件类型检测等功能。

创建时间: 2023-07-12
作者: Python Tools Team
"""

from .file_manager import FileManager
# 导入各种文件处理器
from .text_handler import TextFileHandler
from .binary_handler import BinaryFileHandler
from .csv_handler import CSVFileHandler
from .json_handler import JSONFileHandler
from .yaml_handler import YAMLFileHandler
from .xml_handler import XMLFileHandler
from .excel_handler import ExcelFileHandler
from .image_handler import ImageFileHandler
from .audio_handler import AudioFileHandler
from .video_handler import VideoFileHandler
from .pdf_handler import PDFFileHandler
from .archive_handler import ArchiveHandler
from .html_handler import HTMLHandler
from .config_handler import ConfigHandler
from .db_handler import SQLiteHandler, AccessHandler
from .network_file_handler import HTTPFileHandler, FTPHandler, SFTPHandler
from .file_monitor import FileChangeMonitor, RealTimeFileMonitor, FileChangeTracker
from .crypto_handler import CryptoHandler
from .directory_manager import DirectoryManager
from .file_utils import (
    get_file_info,
    get_file_type,
    get_file_size,
    get_file_hash,
    is_file_exists,
    is_dir_exists,
    copy_file,
    move_file,
    delete_file,
    create_temp_file,
    create_temp_dir
)

__all__ = [
    # 核心管理器
    'FileManager',
    'DirectoryManager',
    
    # 基础文件处理器
    'TextFileHandler',
    'BinaryFileHandler',
    'CSVFileHandler',
    'JSONFileHandler',
    'YAMLFileHandler',
    'XMLFileHandler',
    'ExcelFileHandler',
    
    # 多媒体文件处理器
    'ImageFileHandler',
    'AudioFileHandler',
    'VideoFileHandler',
    'PDFFileHandler',
    
    # 特殊文件处理器
    'ArchiveHandler',
    'HTMLHandler',
    'ConfigHandler',
    'SQLiteHandler',
    'AccessHandler',
    
    # 网络文件处理器
    'HTTPFileHandler',
    'FTPHandler',
    'SFTPHandler',
    
    # 文件监控
    'FileChangeMonitor',
    'RealTimeFileMonitor',
    'FileChangeTracker',
    
    # 文件加密
    'CryptoHandler',
    
    # 工具函数
    'get_file_info',
    'get_file_type',
    'get_file_size',
    'get_file_hash',
    'is_file_exists',
    'is_dir_exists',
    'copy_file',
    'move_file',
    'delete_file',
    'create_temp_file',
    'create_temp_dir'
]